SCO VisionFS: White Paper

SCO Vision Family File and Print Services

A Quick Tour

System Requirements

Introduction
Platforms
Supported Servers
Supported Clients
Supported TCP/IP Stacks

Core Server
Reserved Ports
Mechanism
Master Daemon
Session Master
Session Engine

Naming and Browsing
Security
File Locking
Configuration
Profile Editor
Server Restart

Printing
TCP/IP Client
Minimum Requirements

File Locking

The server can lock whole files or a particular range within a file. Either of these types of lock can exist as:

  • Read Locks - Any number of these can exist on a file, i.e. a read lock does not exclude others from access
  • Write Locks - Only one of these can exist on a file, i.e. write locks are mutually exclusive

An important distinction is that both UNIX and SMB implement different file locking mechanisms ans semantics. SMB has a rich set of file locking facilities and UNIX has a minimal set. SMB file locking is a superset of UNIX file locking.

In trying to map a superset onto a subset one is bound to come across problems. The solution can be provided by a number of means:

  1. Ignore Locking
  2. Map a subset of SMB locking to UNIX locking
  3. Emulate SMB locking on UNIX

Clearly solution 1 would be unacceptable. Solution 2 would partially solve some problems but also leave some gaps (please consult SCO for a detailed description of what these would be). Solution 3 is the ideal solution and it is implemented in SCO VisionFS using a dedicated file locking daemon. Solution 3 also allows opportunistic locking. This involves the server providing the client with a total exclusion lock that at some later stage the client may have to give up, e.g. in the case of another client wanting access to the same file. This greatly improves performance since the client does not have to do server round-trips as often because caching and locking can be done locally by the client. A large number of Windows applications use this functionality on the assumption that the majority of the time one client has a file open at a time.

Configuration

The server has a named administrator with exclusive access to configuring the parameters of SCO VisionFS. The administrator is determined during install time, but can be changed later if necessary. The administrator is as powerful as root and should be secured appropriately.

The administrator uses a Windows program, called the Profile Editor to configure SCO VisionFS.

Profile Editor

To access the Profile Editor the server must be running. The administrator uses a Windows machine to find the UNIX server and connect to a special read-only share called Visionfs. This share contains the Profile EditorÆs executable and help files. In brief the Profile Editor lets you:

  • Name the server and place it in a workgroup
  • Easily handle multiple NetBIOS over TCP/IP applications
  • Dynamically create and configure shares and printers
  • Give users shares for their UNIX home directories
  • Configure precisely who can access individual shares and the actions they can perform
  • Allow guest access for users without UNIX accounts
  • Specify the permissions given for new files and directories in a share

The Profile Editor performs as-you-type validation of many settings, giving instant and helpful visual feedback. Multiple-level undo and redo let you change your mind as often as you like and recover from mistakes.

For further information please consult the on-line help in the product.

Server Restart

There are three classes of change the administrator can make:

  • A change that can take effect immediately, e.g. creating a new share.
  • A change that wonÆt take effect for existing connections, but will effect new connections, e.g. a change of access rights to a share
  • A change that requires a server restart to take affect, e.g. a change of NetBIOS name

The Profile Editor recognizes the scope of the changes youÆve made, suggesting or recommending a server restart in the latter two cases. The Profile Editor can trigger a restart itself.

A server restart closes all existing SMB connections. In most cases, the client connections will be re-established automatically when the server has restarted, completely transparent to users. However, itÆs recommended that users exit clients and close connections to the server if the NetBIOS name they are using is being removed.